-
Notifications
You must be signed in to change notification settings - Fork 277
STL frontend: expr2stl conversion #4954
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
STL frontend: expr2stl conversion #4954
Conversation
Extends the language subset of Statement List by the NOT instruction, used for simply negating the current state of the rlo.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✔️
Passed Diffblue compatibility checks (cbmc commit: ce56308).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/120871525
Codecov Report
@@ Coverage Diff @@
## develop #4954 +/- ##
===========================================
- Coverage 69.29% 69.19% -0.11%
===========================================
Files 1306 1308 +2
Lines 108263 108206 -57
===========================================
- Hits 75023 74868 -155
- Misses 33240 33338 +98
Continue to review full report at Codecov.
|
3208859
to
7c73b95
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR failed Diffblue compatibility checks (cbmc commit: 3208859).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/121117967
Status will be re-evaluated on next push.
Common spurious failures include: the cbmc commit has disappeared in the mean time (e.g. in a force-push); the author is not in the list of contributors (e.g. first-time contributors); compatibility was already broken by an earlier merge.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✔️
Passed Diffblue compatibility checks (cbmc commit: 7c73b95).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/121120142
Adds support for the conversion of boolean expressions. Note that this will hardly have any effect on the output of CBMC and in the current state only be used by projects which rely on it. There are several STL-specific simplification routines integrated in the conversion, e.g. changing the conversion order of operands to avoid unnecessary nesting.
7c73b95
to
f84bf71
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✔️
Passed Diffblue compatibility checks (cbmc commit: f84bf71).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/121286487
Expands the expr2statement_list stub and adds suport for the conversion of the following expressions:
Also adds support for the STL NOT instruction.
Note that this hardly changes any output of CBMC itself since any instruction not listed here will redirect to
expr2c
. Therefore this is only relevant to projects that rely on CBMC, use the STL language interface and want to convert pure boolean expressions.